The invention relates to computer data storage and, more particularly, to redundant arrays of data storage elements used in high availability systems.
In a high availability distributed data communications system where multiple processing elements are interacting with a redundant array of data storage elements, read/write access to the data storage elements must be controlled and coordinated among the processing elements. Without such control and coordination, the operations of the data storage elements could constantly be redirected by any one of the processing elements prior to the completion of an operation. The resulting system would not only corrupt the data stored on the redundant array of data storage elements, but would additionally render the entire distributed communications system useless.
In order to manage and coordinate the read/write traffic to and from the data storage elements, coherency communications traffic is conveyed among the processing elements of the communications system. This coherency traffic functions to manage and synchronize access to the data storage elements to ensure that individual read and write operations are completed in a timely and efficient manner and are allowed to run to completion prior initiating the next operation. Further, the use of coherency traffic precludes the corruption of the data on the data storage entity caused by contention over control of the storage entity.
In a typical distributed data communications system, the coherency traffic is managed by the processing elements which interact with the data storage elements. This usually necessitates a dedicated communications channel which conveys coherency traffic among the processing elements. This channel is also used to enable each of the multiple processing elements of the communication system to signal each other in order to determine which element is granted access to the data storage entity at any particular time.
However, when there is significant distance between the constituent processing elements of the distributed data communications system, the channel used to convey coherency traffic must operate over this distance, and must manage any latency inherent in the communications channel. Further, when the processing elements of the data communication system are spread among multiple networks, the management of coherency traffic becomes increasingly complex. Thus, it is highly desirable for the communications network to employ a redundant array of data storage elements that bridges coherency traffic across multiple networks.